Form তৈরি এবং ডেটা সাবমিট করা

Web Development - কোডইগনাইটার (Codeigniter) - CodeIgniter Form Handling এবং Validation |

CodeIgniter ব্যবহার করে ফর্ম তৈরি এবং ডেটা সাবমিট করার প্রক্রিয়া খুবই সহজ এবং কার্যকর। CodeIgniter এর Form Helper এবং Validation Library ব্যবহার করে ফর্ম ডেটা সহজে প্রক্রিয়া এবং যাচাই করা যায়।


ধাপ ১: Controller তৈরি

প্রথমে একটি Controller তৈরি করুন, যা ফর্ম ভিউ লোড করবে এবং ফর্ম ডেটা প্রক্রিয়া করবে।

namespace App\Controllers;

use CodeIgniter\Controller;

class FormController extends Controller {
    public function index() {
        return view('form_view');
    }

    public function submit() {
        // ফর্ম ডেটা রিসিভ করুন
        $name = $this->request->getPost('name');
        $email = $this->request->getPost('email');

        // ডেটা দেখান
        echo "Name: " . esc($name) . "<br>";
        echo "Email: " . esc($email);
    }
}

ধাপ ২: Form View তৈরি

app/Views/form_view.php নামে একটি ফাইল তৈরি করুন এবং HTML ফর্ম কোড যোগ করুন:

<!DOCTYPE html>
<html>
<head>
    <title>Form Example</title>
</head>
<body>
    <h1>Fill the Form</h1>
    <form action="<?= site_url('formcontroller/submit'); ?>" method="post">
        <label for="name">Name:</label>
        <input type="text" name="name" id="name" required><br><br>

        <label for="email">Email:</label>
        <input type="email" name="email" id="email" required><br><br>

        <button type="submit">Submit</button>
    </form>
</body>
</html>

ধাপ ৩: Routes কনফিগারেশন

app/Config/Routes.php ফাইলে Controller এর জন্য রাউট যোগ করুন:

$routes->get('form', 'FormController::index');
$routes->post('formcontroller/submit', 'FormController::submit');

ধাপ ৪: Form Validation যোগ করা

CodeIgniter এর Validation Library ব্যবহার করে ফর্ম ডেটা যাচাই করুন।

Controller-এ Validation যোগ করা

namespace App\Controllers;

use CodeIgniter\Controller;

class FormController extends Controller {
    public function submit() {
        $validation = \Config\Services::validation();

        // ভ্যালিডেশন রুলস সেট করুন
        $validation->setRules([
            'name' => 'required|min_length[3]|max_length[50]',
            'email' => 'required|valid_email'
        ]);

        // ফর্ম ডেটা যাচাই করুন
        if (!$validation->withRequest($this->request)->run()) {
            // ভ্যালিডেশন ফেইল হলে
            return view('form_view', ['validation' => $validation]);
        }

        // সফল হলে
        $name = $this->request->getPost('name');
        $email = $this->request->getPost('email');

        echo "Name: " . esc($name) . "<br>";
        echo "Email: " . esc($email);
    }
}

View এ ভ্যালিডেশন এরর দেখানো

form_view.php ফাইলে নিচের কোড যোগ করুন:

<?php if (isset($validation)): ?>
    <div style="color: red;">
        <?= $validation->listErrors(); ?>
    </div>
<?php endif; ?>

ধাপ ৫: ডাটাবেসে ফর্ম ডেটা সংরক্ষণ

ডাটাবেস মডেল তৈরি

app/Models/FormModel.php নামে একটি মডেল তৈরি করুন:

namespace App\Models;

use CodeIgniter\Model;

class FormModel extends Model {
    protected $table = 'form_data';
    protected $allowedFields = ['name', 'email'];
}

Controller এ ডাটাবেস সংরক্ষণ কোড যোগ

namespace App\Controllers;

use App\Models\FormModel;
use CodeIgniter\Controller;

class FormController extends Controller {
    public function submit() {
        $validation = \Config\Services::validation();

        $validation->setRules([
            'name' => 'required|min_length[3]|max_length[50]',
            'email' => 'required|valid_email'
        ]);

        if (!$validation->withRequest($this->request)->run()) {
            return view('form_view', ['validation' => $validation]);
        }

        $formModel = new FormModel();
        $formModel->save([
            'name' => $this->request->getPost('name'),
            'email' => $this->request->getPost('email')
        ]);

        echo "Data saved successfully!";
    }
}

ডাটাবেস টেবিল তৈরি

form_data নামে একটি ডাটাবেস টেবিল তৈরি করুন:

CREATE TABLE form_data (
    id INT AUTO_INCREMENT PRIMARY KEY,
    name VARCHAR(50) NOT NULL,
    email VARCHAR(100) NOT NULL
);

ফর্মের Reusability নিশ্চিত করা

ফর্মের জন্য পৃথক টেমপ্লেট তৈরি করুন এবং কন্টেন্ট ডায়নামিক করার জন্য পুনরায় ব্যবহারযোগ্য ফাইল তৈরি করুন। উদাহরণ:

<?php echo form_open('formcontroller/submit'); ?>
    <label for="name">Name:</label>
    <input type="text" name="name" id="name" required><br><br>

    <label for="email">Email:</label>
    <input type="email" name="email" id="email" required><br><br>

    <button type="submit">Submit</button>
<?php echo form_close(); ?>

সারাংশ

CodeIgniter-এ ফর্ম তৈরি এবং ডেটা সাবমিট করা খুব সহজ। Validation Library ব্যবহার করে ইনপুট যাচাই নিশ্চিত করা যায় এবং Model ব্যবহার করে ডাটাবেসে ডেটা সংরক্ষণ করা যায়। ফর্মের পুনরায় ব্যবহারযোগ্যতা নিশ্চিত করার জন্য ফর্মের কম্পোনেন্টগুলো পৃথক করুন এবং সেগুলো টেমপ্লেট আকারে সংরক্ষণ করুন।

Content added By
Promotion